package com.xd.clap.services;

import com.xd.clap.entity.Advise;
import com.xd.clap.entity.request.AdviseParam;
import com.xd.clap.entity.request.PageParam;
import com.xd.clap.entity.response.Result;

import java.util.List;

public interface AdviseService {

    /**
     * 上传意见
     */
    Result uploadAdvise(AdviseParam adviseParam);

    /**
     * 分页查询意见
     */
    Result getAdvisePage(PageParam pageParam);

    /**
     * 分页查询意见数量
     */
    Result getAdvisePageCode(PageParam pageParam);
    /**
     * 查询催办意见
     */
    Result getUrgeAdvise(PageParam pageParam);

    /**
     * 通过ID查询建议
     */
    Advise getAdviseById(Integer id);

    /**
     * 通过ID驳回误报建议
     */
    Result rejectedAdvise(Integer id);

    /**
     * 分配辖区负责人
     */
    Result sentAddress(AdviseParam adviseParam);

    /**
     * 通过ID修改建议状态
     */
    Boolean setAdviseStateById(Integer id,Integer stateCode);

    /**
     * 催促办理事件
     */
    Result urgeAdvise(List<Advise> adviseList);

    /**
     * 获取各建议状态统计数量
     */
    Result getStateCount(String firstAddress);

    /**
     * 获取最新十条建议
     */
    Result getAdviseList(String firstAddress);

    /**
     * 获取地图和排行统计数量
     */
    Result getMapRankData();

    /**
     * 获取最近七天建议上报统计
     */
    Result getLatelyData();

    /**
     * 更新事件积分
     */
    Result updateRate(Advise advise);


    /**
     * 删除建议
     * @param adviseId
     * @return
     */
    Result deleteAdvise(Integer adviseId);
}
